//
//  WBHomeTableViewController.swift
//  Weibo
//
//  Created by Apple on 16/11/12.
//  Copyright © 2016年 Wbw. All rights reserved.
//

import UIKit
import SVProgressHUD
import YYModel

private let cellId = "StatusCellId"
class WBHomeTableViewController: WBBaseTableViewController {
    //控制器应该拥有视图模型
    lazy var homeViewModel: WBHomeViewModel = WBHomeViewModel()

    
    override func loadView() {
        super.loadView()
    }
    //设置根视图的大小
    override func viewDidLoad() {
        super.viewDidLoad()
        //如果用户没登录 就返回,不注册tableview 如果登录了就执行注册
        if !userLogin {
            //设置方可视图的信息 -->获取界面信息
            visitorView.updateInfo(title: "关注一些人,回到这里看看有什么惊喜", imageName: "visitordiscover_feed_image_smallicon", isHome: true)
            //设置navibar右上角的按钮
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(imageName: "navigationbar_pop", target: self, action: #selector(push))
            return
        }
        //设置tableView
        setupTableView()
        //进入页面就开始加载输数据
        homeViewModel.loadData { (isSuccess) in
            if !isSuccess {
                return
            }
            self.tableView.reloadData()
//            //记录数组
//            self.statuses = array
//            //刷新数据
//            self.tableView.reloadData()
        }
    }
    //设置tableView 注册cell
    private func setupTableView() {
        //注册cell
        //未登录状态会蹦 
        //fatal error: unexpectedly found nil while unwrapping an Optional value
        //因为未登录的时候根视图
        //tableView?.register(WBStatusCell.self, forCellReuseIdentifier: cellId)
        let nib = UINib(nibName: "WBStatusCell", bundle: nil)
        tableView.register(nib, forCellReuseIdentifier: cellId)
    }
    //push方法
    @objc private func push() {
        //进入子页面
        let demo = WBDemoViewController()
        self.navigationController?.pushViewController(demo, animated: true)
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.homeViewModel.viewModelArray.count
    }
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! WBStatusCell
        let viewModel = self.homeViewModel.viewModelArray[indexPath.row]
        cell.statusViewModel = viewModel
        return cell
    }

}











